package com.xiaor.rssutils.pager;

import lombok.Data;

/**
 * 分页
 */
@Data
public class Page {
    private Integer pageNum;   // 第n页
    private Integer showNum;   // 每页展示数量
    private Boolean showAll;   // 展示全部
    private static final Integer minPageNum;    // 最小页数
    private static final Integer minShowNum;    // 最小每页展示数量

    static {
        minPageNum = 1;
        minShowNum = 1;
    }

    {
        pageNum = minPageNum;
        showNum = 0;
        showAll = true;
    }

    // 第n页下标
    public Integer getPageIndex() {
        return (pageNum-1) * showNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum =
                pageNum < minPageNum ? minPageNum : pageNum;
    }

    public void setShowNum(Integer showNum) {
        this.showNum =
                showNum < minShowNum ? minShowNum : showNum;
        this.showAll = false;
    }
}
